from pygame.locals import *
from sys import exit
import os
import pygame
import menu2


class Fase:
    def __init__(self,opc_player1,opc_player2):
        self.width, self.height = 798,672
        self.cor = (8,91,47)

        self.opcao_player1 = opc_player1
        self.opcao_player2 = opc_player2
        self.fase_selecionada = 1
        self.back = pygame.image.load("img"+os.sep+"cenario"+os.sep+"MegaBomb.jpg").convert()
        self.imagem_fase1 = [pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase1"+os.sep+"icone.png"),pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase1"+os.sep+"icone_sel.png")]
        self.imagem_fase2 = [pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase2"+os.sep+"icone.png"),pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase2"+os.sep+"icone_sel.png")]
        self.imagem_fase3 = [pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase3"+os.sep+"icone.png"),pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase3"+os.sep+"icone_sel.png")]
        self.imagem_fase4 = [pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase4"+os.sep+"icone.png"),pygame.image.load("img"+ os.sep +"cenario"+ os.sep +"fase4"+os.sep+"icone_sel.png")]

        self.fase1_size = self.imagem_fase1[0].get_size()
        self.fase1_pos = (self.width/10,self.height/2)
        
        self.fase2_size = self.imagem_fase2[0].get_size()
        self.fase2_pos = (self.fase1_pos[0]+self.fase1_size[0]+10,self.height/2)

        self.fase3_size = self.imagem_fase3[0].get_size()
        self.fase3_pos = (self.fase2_pos[0]+self.fase2_size[0]+10,self.height/2)

        
        self.fase4_size = self.imagem_fase4[0].get_size()
        self.fase4_pos = (self.fase3_pos[0]+self.fase3_size[0]+10,self.height/2)

        self.lista_opcoes = [self.imagem_fase1,self.imagem_fase2,self.imagem_fase3,self.imagem_fase4]
        self.lista_posicoes =[self.fase1_pos,self.fase2_pos,self.fase3_pos,self.fase4_pos]
        self.lista_nomes = ["Home Sweet home","Egito","Vulcano","Glacius"]

    def executa_menu(self):
        pygame.init()
        tela = pygame.display.set_mode((self.width,self.height), 0, 32)
        pygame.display.set_caption("Selecao Mapa")
        font = pygame.font.Font("fontes" + os.sep + "chonker.ttf", 42, bold = False)
        
        
        while True:
            tela.fill(self.cor)
            for event in pygame.event.get():
                if event.type == QUIT:
                    exit(0)
            botao_pressionado = pygame.key.get_pressed()
            nome_fase = font.render(self.lista_nomes[self.fase_selecionada-1], False, (255,0,0))

            if botao_pressionado[K_ESCAPE]:
                inicia = menu2.Menu()
                inicia.executaMenu()
                
            if botao_pressionado[K_RIGHT]:
                if self.fase_selecionada + 1 > 4:
                    pass
                else:
                    self.fase_selecionada += 1
                       
            elif botao_pressionado[K_LEFT]:
                if self.fase_selecionada - 1 < 1:
                    pass
                else:
                    self.fase_selecionada -= 1
            elif botao_pressionado[K_RETURN]:
                import executa2
                executa2.Executa(self.opcao_player1,self.opcao_player2,self.fase_selecionada)
            

            
            tela.blit(self.back,(0,0))
            for i in range(len(self.lista_opcoes)):
                if self.fase_selecionada == i + 1:
                    tela.blit(self.lista_opcoes[i][1],self.lista_posicoes[i])
                else:
                    tela.blit(self.lista_opcoes[i][0],self.lista_posicoes[i])
            tela.blit(nome_fase,(self.fase3_pos[0] + self.fase3_size[0]/2,self.fase3_pos[1]+self.fase3_size[1] + self.fase3_size[1]/2))
            pygame.time.delay(100)
            pygame.display.update()

        
        

        
        
        
